<?php
/**
 * 多语言类
 *
 * @version $Id: I18n.php 146 2013-10-11 08:35:01Z linsir123 $
 * @package Helper
 */
class HelperI18n
{
	/**
	 * 多语言数据流
	 *
	 * @var array
	 */
	public $data = array();

	/**
	 * 构造函数
	 */
	public function __construct()
	{
		///
		App::v('gettext');
	}

	/**
	 * 加载语言包
	 *
	 * @param string $domain 包名
	 * @param string $mo 语言包文件
	 */
	public function loadTextDomain($domain, $mo)
	{
		///
		if (file_exists($mo) && is_readable($mo)) {
			$input = new CachedFileReader($mo);
			$this->data[$domain] = new gettext_reader($input);
		}
	}

	/**
	 * 翻译
	 *
	 * @param string $string 需要翻译的字符串
	 * @return $string
	 */
	public function translate($string, $domain)
	{
		///
		return ! isset($this->data[$domain]) ? $string
			: $this->data[$domain]->translate($string);
	}
}
